using JTZY.Model.Goods.Dto;
using JTZY.Model.Goods;

namespace JTZY.Service.Goods.IGoodsService
{
    /// <summary>
    /// checkstockservice接口
    /// </summary>
    public interface IStocklogmasterService : IBaseService<Stocklogmaster>
    {
        PagedInfo<StocklogmasterDto> GetList(StocklogmasterQueryDto parm);

        StockPdSheetDto GetInfo(long userId, long stockId);


        Stocklogmaster AddStocklogmaster(Stocklogmaster parm);
        int UpdateStocklogmaster(Stocklogmaster parm);

        List<StockPdTreeDto> GetCategoryTree(long userId);

        StockPdSheetDto QueryStockProdByProdId(StockPdRangeQueryDto parm);
        /// <summary>
        /// 保存盘点记录
        /// </summary>
        /// <param name="userId"></param>
        /// <param name="parm"></param>
        /// <returns></returns>
        StockPdSheetDto SavePdSheet(long userId, StockPdSheetDto parm);

        StockPdSheetDto EditPdSheet(long userId, StockPdSheetDto parm);

        bool HasNotCheckedPdSheet(long userId);

        bool ApprovePdSheet(long userId, long masterId);

        PagedInfo<StocklogExportDto> ExportList(long userId, StocklogmasterQueryDto parm);

        bool DelPdSheet(long userId, long masterId);

        PagedInfo<StocklogmasterDto> ExportMasterList(long userId, StocklogmasterQueryDto parm);

        Task<WebApiCallBack> GetProdInfo(string snCode, long userId);
    }
}
